// manifest.config.ts
import { defineManifestConfig } from "@uni-helper/vite-plugin-uni-manifest";
import path from "node:path";
import { loadEnv } from "vite";

// 获取环境变量的范例
const env = loadEnv(process.env.NODE_ENV!, path.resolve(process.cwd(), "env"));
const {
	VITE_APP_TITLE,
	VITE_UNI_APPID,
	VITE_WX_APPID,
	VITE_APP_PUBLIC_BASE,
	VITE_FALLBACK_LOCALE,
} = env;

export default defineManifestConfig({
	name: VITE_APP_TITLE,
	appid: VITE_UNI_APPID,
	description: "",
	versionName: "1.0.0",
	versionCode: "100",
	transformPx: false,
	locale: VITE_FALLBACK_LOCALE, // 'zh-Hans'
	h5: {
		router: {
			base: VITE_APP_PUBLIC_BASE,
		},
	},
	/* 5+App特有相关 */
	"app-plus": {
		usingComponents: true,
		nvueStyleCompiler: "uni-app",
		compilerVersion: 3,
		compatible: {
			ignoreVersion: true,
		},
		splashscreen: {
			alwaysShowBeforeRender: true,
			waiting: true,
			autoclose: true,
			delay: 0,
		},
		/* 模块配置 */
		modules: {},
		/* 应用发布信息 */
		distribute: {
			/* android打包配置 */
			android: {
				minSdkVersion: 19,
				targetSdkVersion: 19,
				abiFilters: ["armeabi-v7a", "arm64-v8a"],
				permissions: [
					'<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>',
					'<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>',
					'<uses-permission android:name="android.permission.VIBRATE"/>',
					'<uses-permission android:name="android.permission.READ_LOGS"/>',
					'<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>',
					'<uses-feature android:name="android.hardware.camera.autofocus"/>',
					'<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>',
					'<uses-permission android:name="android.permission.CAMERA"/>',
					'<uses-permission android:name="android.permission.GET_ACCOUNTS"/>',
					'<uses-permission android:name="android.permission.READ_PHONE_STATE"/>',
					'<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>',
					'<uses-permission android:name="android.permission.WAKE_LOCK"/>',
					'<uses-permission android:name="android.permission.FLASHLIGHT"/>',
					'<uses-feature android:name="android.hardware.camera"/>',
					'<uses-permission android:name="android.permission.WRITE_SETTINGS"/>',
				],
			},
			/* ios打包配置 */
			ios: {},
			/* SDK配置 */
			sdkConfigs: {},
			/* 图标配置 */
			icons: {
				android: {
					hdpi: "static/app/icons/72x72.png",
					xhdpi: "static/app/icons/96x96.png",
					xxhdpi: "static/app/icons/144x144.png",
					xxxhdpi: "static/app/icons/192x192.png",
				},
				ios: {
					appstore: "static/app/icons/1024x1024.png",
					ipad: {
						app: "static/app/icons/76x76.png",
						"app@2x": "static/app/icons/152x152.png",
						notification: "static/app/icons/20x20.png",
						"notification@2x": "static/app/icons/40x40.png",
						"proapp@2x": "static/app/icons/167x167.png",
						settings: "static/app/icons/29x29.png",
						"settings@2x": "static/app/icons/58x58.png",
						spotlight: "static/app/icons/40x40.png",
						"spotlight@2x": "static/app/icons/80x80.png",
					},
					iphone: {
						"app@2x": "static/app/icons/120x120.png",
						"app@3x": "static/app/icons/180x180.png",
						"notification@2x": "static/app/icons/40x40.png",
						"notification@3x": "static/app/icons/60x60.png",
						"settings@2x": "static/app/icons/58x58.png",
						"settings@3x": "static/app/icons/87x87.png",
						"spotlight@2x": "static/app/icons/80x80.png",
						"spotlight@3x": "static/app/icons/120x120.png",
					},
				},
			},
		},
	},
	/* 快应用特有相关 */
	quickapp: {},
	/* 小程序特有相关 */
	"mp-weixin": {
		appid: VITE_WX_APPID,
		setting: {
			urlCheck: false,
		},
		usingComponents: true,
		// __usePrivacyCheck__: true,
	},
	"mp-alipay": {
		usingComponents: true,
		styleIsolation: "shared",
	},
	"mp-baidu": {
		usingComponents: true,
	},
	"mp-toutiao": {
		usingComponents: true,
	},
	uniStatistics: {
		enable: false,
	},
	vueVersion: "3",
});
